package com.shishuo.cdn.util;
import java.io.UnsupportedEncodingException;
import java.util.Date;   
import java.util.Properties;  

import javax.mail.Address;   
import javax.mail.BodyPart;   
import javax.mail.Message;   
import javax.mail.MessagingException;   
import javax.mail.Multipart;   
import javax.mail.Session;   
import javax.mail.Transport;   
import javax.mail.internet.InternetAddress;   
import javax.mail.internet.MimeBodyPart;   
import javax.mail.internet.MimeMessage;   
import javax.mail.internet.MimeMultipart;    
public class SimpleMailSender {

	   /** *//**  
     * 以HTML格式发送邮件  
     * @param mailInfo 待发送的邮件信息  
     */   
   public static boolean sendHtmlMail(MailSenderInfo mailInfo){   
     // 判断是否需要身份认证   
     MyAuthenticator authenticator = null;  
     Properties pro = mailInfo.getProperties();  
     //如果需要身份认证，则创建一个密码验证器    
     if (mailInfo.isValidate()) {   
       authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());  
     }   
     // 根据邮件会话属性和密码验证器构造一个发送邮件的session   
     Session sendMailSession = Session.getDefaultInstance(pro,authenticator);   
     try {   
     // 根据session创建一个邮件消息   
     Message mailMessage = new MimeMessage(sendMailSession);   
     // 创建邮件发送者地址   
     Address from=null;
	try {
		from = new InternetAddress(mailInfo.getFromAddress(),"北京网视通联");
	} catch (UnsupportedEncodingException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}   
     // 设置邮件消息的发送者   
     mailMessage.setFrom(from);   
     // 创建邮件的接收者地址，并设置到邮件消息中   
     Address to = new InternetAddress(mailInfo.getToAddress());   
     // Message.RecipientType.TO属性表示接收者的类型为TO   
     mailMessage.setRecipient(Message.RecipientType.TO,to);   
     // 设置邮件消息的主题   
     mailMessage.setSubject(mailInfo.getSubject());   
     // 设置邮件消息发送的时间   
     mailMessage.setSentDate(new Date());   
     // MiniMultipart类是一个容器类，包含MimeBodyPart类型的对象   
     Multipart mainPart = new MimeMultipart();   
     // 创建一个包含HTML内容的MimeBodyPart   
     BodyPart html = new MimeBodyPart();   
     // 设置HTML内容   
     html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");   
     mainPart.addBodyPart(html);   
     // 将MiniMultipart对象设置为邮件内容   
     mailMessage.setContent(mainPart);   
     // 发送邮件   
     Transport.send(mailMessage);   
     return true;   
     } catch (MessagingException ex) {   
         ex.printStackTrace();   
     }   
     return false;   
   }   
   
   public static boolean sendSmtpMail(String account,String title,String message){
	// 初始化邮件信息
		MailSenderInfo mailSenderInfo = new MailSenderInfo();
		//mailSenderInfo.setMailServerHost("smtpcom.263xmail.com");
		mailSenderInfo.setMailServerHost("smtp.sina.cn");
		mailSenderInfo.setMailServerPort("25");
		mailSenderInfo.setValidate(true);
		//发送的账号和密码
		mailSenderInfo.setUserName("13439170467@sina.cn");
		mailSenderInfo.setPassword("blf123456789");
		//发送者
		mailSenderInfo.setFromAddress("13439170467@sina.cn");
		mailSenderInfo.setToAddress(account);
		mailSenderInfo.setSubject(title);
		mailSenderInfo.setContent("【北京网视通联：】<br>"+message);

		boolean flag = SimpleMailSender.sendHtmlMail(mailSenderInfo);
		
	   return flag;
   }
}
